/*
 * Copyright (C) 2010 恒康信息科技有限公司
 * 版权所有
 */
package com.jjmmbb.stockdiary;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.Application;
import android.app.PendingIntent;


public class MyApplication extends Application {
	PendingIntent restartIntent;

	// activity对象列表,用于activity统一管理
	private List<Activity> activityList = new ArrayList<Activity>();
	// 公告类,保留全局变量
	public Comm c;

	@Override
	public void onCreate() {
		super.onCreate();
		c = new Comm();

		// cauchException();
	}

	// private void cauchException() {
	// // 以下用来捕获程序崩溃异常
	// Intent intent = new Intent();
	// // 参数1：包名，参数2：程序入口的activity
	// intent.setClassName("com.hk.shop", "com.hk.shop.WelcomeActivity");
	// restartIntent = PendingIntent.getActivity(getApplicationContext(), 0,
	// intent, Intent.FLAG_ACTIVITY_NEW_TASK);
	// Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃时触发线程
	// }
	//
	// // 创建服务用于捕获崩溃异常
	// private UncaughtExceptionHandler restartHandler = new
	// UncaughtExceptionHandler() {
	// @Override
	// public void uncaughtException(Thread thread, Throwable ex) {
	// AlarmManager mgr = (AlarmManager)
	// getSystemService(Context.ALARM_SERVICE);
	// mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000,
	// restartIntent); // 1秒钟后重启应用
	// finishProgram(); // 自定义方法，关闭当前打开的所有avtivity
	// }
	// };

	// activity管理：从列表中移除activity
	public void removeActivity(Activity activity) {
		activityList.remove(activity);
	}

	// activity管理：添加activity到列表
	public void addActivity(Activity activity) {
		activityList.add(activity);
	}

	// activity管理：结束所有activity，彻底关闭应用
	public void finishProgram() {
		for (Activity activity : activityList) {
			if (null != activity) {
				activity.finish();
			}
		}
		android.os.Process.killProcess(android.os.Process.myPid());
	}
}
